import UIKit

var str = "Hello, playground"

class Base{
    
    //指定构造方法
    init() {
        print("init")
    }
    
    //便利构造方法
    convenience init(param:String){
        
        print("init \(param)")
        self.init()
    }
}

var b0 = Base()
var b1 = Base(param: "初始化")

class Check{
    var pro:Int
    
    //可失败的构造方法
    init?(param:Int) {
        //使用守护语句，当param>0时才进行构造
        guard param>0 else {
            print("请输入大于0的数字")
            return nil
        }
        self.pro = param
    }
}

var check_1 = Check(param: 10)
//var check_2 = Check(param: -10)

print(check_1!.pro)
//print(check_2!.pro)


class Temp{
    //析构函数
    deinit {
        print("实例被销毁了")
    }
}

var temp:Temp? = Temp()
//当实例被置为nil的时候，会执行析构函数
temp = nil
